#ifndef CONVERSE_TEXTMESSAGE_H
#define CONVERSE_TEXTMESSAGE_H

#include "converseabstractmessage.h"


namespace Converse {

class AbstractConversation;

class TextMessage : public AbstractMessage
{
    Q_OBJECT
public:
    explicit TextMessage(qint64 id,
                         qint64 sendingId,
                         const AbstractConversation &conversation,
                         qint64 createdTime,
                         qint64 receivedTime,
                         qint64 senderId,
                         qint64 receiverId,
                         const QString &text,
                         QObject *parent = 0);

private:
    QString m_text;
    
public:
    inline const QString &text() const {
        return m_text;
    }

public:
    const QString &message() const;
    AbstractMessage::Type type() const;
    QVariant extra() const;
};

} // namespace Converse

#endif // CONVERSE_CONVERSETEXTMESSAGE_H
